﻿
<? // вычисляем необходимые пути и URL 
$doc_root	= str_replace('\\','/', $_SERVER['DOCUMENT_ROOT']);
$file_path 	= str_replace('\\','/', __FILE__); 
$script_path =  $doc_root . str_replace('\\','/', $_SERVER['PHP_SELF']); 
$folder_path = dirname($file_path);
$folder_url =  str_replace($doc_root, '', $folder_path );
?>

<? // если скрипт вызван напрямую - отображаем визуальный редактор
if ($script_path == $file_path) {
?>
	<textarea id=wysiwyg_editor class=wysiwyg style='width:600px; height:300px;'></textarea>
<?} else { ?>
	
<?}?>

<style>
/* стили для области редактора */

.nicEdit-main {
	/*background-color: #f9f9ff !important;*/
	font-family:Arial;
}

.nicEdit-main P {
	margin:10px 0 !important;
}
.nicEdit-panel .pane {font-family:Arial !important;}

.nicEdit-selectTxt {line-height:125%;}
</style>

<?// загружаем скрипт редактора и подключаем его ко всем элементам страницы с классом wysiwyg ?>
<script type="text/javascript" src="<?=$folder_url?>/nicedit/ru.js"></script>
<script type="text/javascript" src="<?=$folder_url?>/nicedit/nicEdit.js" ></script>

<script type="text/javascript">

// регистрируем для автозагрузки функцию инициаизации редактора
bkLib.onDomLoaded( 
function wysiwig_init() 
{
	var nicedit_config = {
		//display:0,
		fullPanel : true, 
		iconsPath: '<?=$folder_url?>/nicedit/nicEditorIcons.gif',
		externalCSS:'<?=$folder_url?>/nicedit/nicEdit.css',
		maxHeight : 300,
    '':''
	}
	nicEditor_Control = new nicEditor(nicedit_config)
	//alert(1)
	var elements = getElementsByClassName('wysiwyg')
	//alert(elements[0].outerHTML)
	
	for (var i=0; i<elements.length; i++)
	{
		wysiwig_toggle(elements[i]) 
		
	}
	
})

// включает/выключает редактор для заданого элемента (обычно TEXTAREA)
function wysiwig_toggle(e) 
{
	e = $(e)
	//alert(e)
	 
	var editor_display = e.getAttribute('editor_display')
	//alert(!editor_display)

	if(!editor_display) 
	{
			//alert(e.offsetWidth)
			if (e.offsetWidth) e.style.width=e.offsetWidth
			//alert(e.style.width)
			nicEditor_Control.panelInstance(e,{hasPanel : true});
			e.setAttribute('editor_display', 1);
	} else 
	{
			nicEditor_Control.removeInstance(e);
			e.setAttribute('editor_display', 0);
			e.style.width='';
	} /**/
		
}

if (!window.getElementsByClassName)
{
	function getElementsByClassName(classname, node) 
	{
		if (!node) node = document.getElementsByTagName("body")[0];
		var a = [];
		var re = new RegExp('\\b' + classname + '\\b');
		var els = node.getElementsByTagName("*");
		//alert(els.length)
		for (var i=0,j=els.length; i<j; i++)
			if (re.test(els[i].className))
				a.push(els[i]);
		//	alert(classname)
		return a; 
	}
}

if (!window.$) 
{
	function $(id) {
		if (typeof(id)=='object') return id;
		else return document.getElementById(id);
	}
}	
</script>



<?/*
<small>  
<a href="#" onclick="wysiwig_toggle();"
class="dashed grey" onfocus=this.blur()
title="Вкл/выкл визуальный редактор NicEdit "
>NicEdit (+/–)</a>
</small> 
*/?>